-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use ONNXRuntime for ParticleNet inference #30599
Conversation
The code-checks are being triggered in jenkins. |
+code-checks Logs: https://cmssdt.cern.ch/SDT/code-checks/cms-sw-PR-30599/16855
|
A new Pull Request was created by @hqucms (Huilin Qu) for master. It involves the following packages: PhysicsTools/ONNXRuntime @perrotta, @jpata, @cmsbuild, @santocch, @slava77 can you please review it and eventually sign? Thanks. cms-bot commands are listed here |
test parameters: |
@cmsbuild please test |
The tests are being triggered in jenkins.
|
Comparison job queued. |
Comparison is ready Comparison Summary:
|
@cmsbuild please test |
The tests are being triggered in jenkins.
|
IIUC, the new code scales better with nthreads. |
+1 |
Comparison job queued. |
Comparison is ready Comparison Summary:
|
+1
cms-data/RecoBTag-Combined#33 should be merged together or before this PR |
+1 |
This pull request is fully signed and it will be integrated in one of the next master IBs (tests are also fine). This pull request will now be reviewed by the release team before it's merged. @silviodonato, @dpiparo (and backports should be raised in the release meeting by the corresponding L2) |
+1 |
PR description:
This PR moves the ParticleNet inference from MXNet to ONNXRuntime to address #30432. The ParticleNet models are converted from the current (
V00
) MXNet models. Outputs are consistent with the MXNet implementation at numerical precision level. The inference speed is ~20% faster.I also implemented the function to load the preprocessing parameters from a JSON file, which can then be shipped together with the DNN models in cms-data. This addresses #29129. The old way (reading from a python cfg file) is kept for backward compatibility.
This PR also contains some preparatory changes (in
PhysicsTools/ONNXRuntime
andRecoBTag/ONNXRuntime/plugins/BoostedJetONNXJetTagsProducer.cc
) for the new version of ParticleNet planned for UL Re-MiniAOD. The UL re-training will switch to Puppi V14 and also exploits the dynamic axis feature of ONNX, which avoids the need of zero-padding the jet constituent particles to 100. This on average reduces the inference time by ~2x.Requires cms-data/RecoBTag-Combined#33.